package com.fs.sale.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.fs.common.core.pojo.Inventory;
import com.fs.sale.mapper.InventoryMapper;
import com.fs.sale.service.InventoryService;
import com.fs.sale.vo.UpdateInventoryVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class InventoryServiceImpl implements InventoryService {
    @Autowired
    InventoryMapper inventoryMapper;
    @Override
    public int updateInventory(UpdateInventoryVo updateInventoryVo) {
        QueryWrapper<Inventory> queryWrapper=new QueryWrapper<>();
        queryWrapper.eq("variant_id",updateInventoryVo.getVariantId());
        Inventory inventory=inventoryMapper.selectOne(queryWrapper);

         if(updateInventoryVo.getAddNum()!=null && updateInventoryVo.getAddNum()!=0){
             inventory.setInventoryQuantity(inventory.getInventoryQuantity()+updateInventoryVo.getAddNum());
         }else if(updateInventoryVo.getReduceNum()!=null && updateInventoryVo.getReduceNum()!=0){
             inventory.setInventoryQuantity(inventory.getInventoryQuantity()-updateInventoryVo.getReduceNum());
         }
        UpdateWrapper<Inventory> updateWrapper=new UpdateWrapper<>();
         updateWrapper.eq("variant_id",updateInventoryVo.getVariantId());

        return inventoryMapper.update(inventory,updateWrapper);
    }
}
